package com.foling.system.entity;
import lombok.Data;
import java.util.LinkedList;
import java.util.List;
@Data
public class Cart {
    private List<CartItem> items = new LinkedList<>();

    public void addItem(CartItem cartItem){
        for (CartItem item:items
             ) {
            if (item.getProductId() == cartItem.getProductId()){
                item.setCount(item.getCount()+1);
                return;
            }
        }
        items.add(cartItem);
    }

    public void deleteItem(Integer id){
       items.remove(id);
    }

    public void clear(){
        items.clear();
    }

    public void updateCount(Integer id, Integer count){
            CartItem cartItem = items.get(id);
            if(cartItem != null){
            cartItem.setCount(count);
            cartItem.setTotalPrice(cartItem.getPrice()*cartItem.getCount());
        }
    }

    public Integer getTotalCount() {
        //遍历map集合里面的对象的个数
        return items.size();
    }

    public Integer getTotalPrice() {
        int totalPrice = 0;
        for (CartItem  item:items
             ) {
         totalPrice += item.getPrice()*item.getCount();
        }
        return totalPrice;
    }
    public List<CartItem> getItems() {
        return items;
    }

    public void setItems(List<CartItem> cartItems) {
        this.items = cartItems;
    }

    @Override
    public String toString() {
        return "cart{" +
                "totalCount=" + getTotalCount() +
                ", totalPrice=" + getTotalPrice() +
                ", items=" + items +
                '}';
    }
}
